1. Field of the Invention
The present invention generally relates to distributed application systems. More specifically, the present invention relates to methods and apparatus for business rules authoring and operation employing a customizable vocabulary in distributed application systems.
2. Description of the Related Art
Rules engagement is a well known and important technique for the governance of distributed application systems. Rules are codified and rules systems are managed by programmers. A significant problem is that non-programmers are unable to participate in the management of distributed application systems due to the technical expertise rules systems require.
Business users have a variety of backgrounds and expertise levels. For the most part, business users are not computer programmers, though some have become quite adept at programming due to desire and/or need. Computers have come to benefit the technically savvy, but have only aided others through application software and their interfaces.
Historically, to author business logic executable by a computer required that either a business user learn a computer language created by programmers for programmers, or that a programmer interpret the wishes and desires of a business user into a computer language. The programmer-friendly computer language statements are subsequently compiled into computer executable format. To date, the vast majority of business users are not fluent with computer programming languages, nor is this likely to change.
One exemplary software application category is the spreadsheet, where the user can, for example, enter formulas to assign values to cells in a grid. However, spread-sheets are generally single user systems and do not scale as distributed enterprise applications. Further, spreadsheets generally have their own language for user interaction, where nouns and verbs are statically built-in for formula authoring. For example, to add the cells d1, d2 and d3 and place the sum in cell d4, the formula for cell d4 might be: =sum(d1:d3).
It would be desirable to provide a rules system that empowers “business users” (non-programmers) to administrate distributed application systems.